package day15.java2;
/*
* 接口的使用
* 1.接口的多态性
* 2.接口实际上就是定义了一种规范
* 3.开发中，体会面向对象编程
*
*
* */
public class USBTest {
    public static void main(String[] args) {
        Computer com = new Computer();
        //1.创建了接口的非匿名实现类的非匿名对象
        Flash flash = new Flash();
        com.transferData(flash);
        //2.创建了接口的非匿名实现类的匿名对象
        com.transferData(new Printer());
        //3.创建了接口的匿名实现类的非匿名对象
        USB phone = new USB(){

            @Override
            public void start() {

            }

            @Override
            public void stop() {

            }
        };
        com.transferData(phone);
        //4.创建了接口的匿名实现类的匿名对象
        com.transferData(new USB(){

            @Override
            public void start() {

            }

            @Override
            public void stop() {

            }
        });
    }
}

interface USB{
    //常量：定义了长、宽、最大最小的传输速度等

    void start();
    void stop();

}
class Computer {
    public void transferData(USB usb){
        usb.start();
        System.out.println("具体的传输数据的细节");

        usb.stop();
    }
}
class Flash implements USB{

    @Override
    public void start() {
        System.out.println("U盘开启工作");
    }

    @Override
    public void stop() {
        System.out.println("U盘结束工作");
    }
}

class Printer implements USB{

    @Override
    public void start() {
        System.out.println("打印机开启工作");
    }

    @Override
    public void stop() {
        System.out.println("打印机结束工作");
    }
}